#pragma once
#include "../Utilities/utilities.h"
#include "Vertex.h"
#include "Shaders.h"

//class Triangle
//{
//private:
//	
//	GLuint vboId;
//	Vertex verticesData[3];
//public:
//	Matrix maLocalW;
//	Vector3 vPosition1;
//	Vector3 vPosition2;
//	Vector3 vPosition3;
//	Vector3 vOrigin;
//	Vector4 vColor1;
//	Vector4 vColor2;
//	Vector4 vColor3;
//public:
//	Triangle();
//	Triangle(GLfloat x1, GLfloat y1, GLfloat z1,
//			GLfloat x2, GLfloat y2, GLfloat z2,
//			GLfloat x3, GLfloat y3, GLfloat z3);
//	void Init();
//	void Update(ESContext *esConext, GLfloat deltaTime);
//	void Draw(ESContext *esContext, Shaders *myShaders);
//	void CleanUp();
//};

class Triangle
{
private:
	Matrix m_maWorld;

	GLuint m_uivboId;
	Vertex m_arrVertexData[3];
public:
	GLfloat ScaleX;
	GLfloat ScaleY;
	GLfloat ScaleZ;

	GLfloat RotX;
	GLfloat RotY;
	GLfloat RotZ;

	Vector3 Translate;
public:
	Triangle();
	void SetPosition(Vector3 p1, Vector3 p2, Vector3 p3);
	void SetColor(Vector4 c1, Vector4 c2, Vector4 c3);
	void Init();
	void Update(ESContext *esContext, GLfloat deltaTime);
	void Draw(ESContext * esContext, Shaders *myShaders);
	void CleanUp();
};